home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 49 / Amiga Format CD49 (2000-01-17)(Future Publishing)(GB)(Track 1 of 3)[!][issue 2000-02].iso / -in_the_mag- / banging_the_metal / cd32 / nvtools / getnv.mod < prev    next >
Text File  |  1999-11-30  |  935b  |  59 lines

  1. MODULE GetNV;
  2. (*
  3.   $StackChk-
  4.   $RangeChk-
  5.   $NilChk-
  6.   $OvflChk-
  7.   $ReturnChk-
  8.   $CaseChk-
  9. *)
  10.  
  11. IMPORT
  12.   y := SYSTEM,
  13.  
  14.   (* Interfaces *)
  15.   d := Dos,
  16.   e := Exec,
  17.   nv := NonVolatile,
  18.  
  19.   str := Strings;
  20.  
  21. CONST
  22.   template = "AN=APPNAME/A,IN=ITEMNAME/A,KR=KILLREQUESTER/S"
  23.              "\o$VER: GetNV.mod 1.0 (30.09.95)";
  24.  
  25. TYPE
  26.   Args = STRUCT (as :d.ArgsStruct)
  27.     appName  :d.ArgString;
  28.     itemName :d.ArgString;
  29.     killReq  :d.ArgBool;
  30.   END;
  31.  
  32. VAR
  33.   args      :d.RDArgsPtr;
  34.   argv      :Args;
  35.  
  36.   data      :nv.DataPtr;
  37.  
  38. BEGIN
  39.   IF nv.base=NIL THEN
  40.     d.PrintF("No nonvolatile.library!\n");
  41.     HALT(20);
  42.   END;
  43.  
  44.   args := d.ReadArgs(template, argv, NIL);
  45.   IF args=NIL THEN
  46.     IF d.PrintFault(d.IoErr(), "GetNV") THEN END;
  47.     HALT(20);
  48.   END;
  49.  
  50.   data := nv.GetCopyNV(argv.appName^, argv.itemName^, argv.killReq);
  51.   IF data#NIL THEN
  52.     d.PrintF("%s\n", data);
  53.   END;
  54.  
  55. CLOSE
  56.   d.FreeArgs(args);
  57.   nv.FreeNVData(data);
  58. END GetNV.
  59.